Instructies If...Then...Else

   

Met de instructie If...Then...Else kunt u een specifieke instructie of een specifiek instructieblok uitvoeren, afhankelijk van de waarde van een voorwaarde. U kunt een instructie If...Then...Else op elk gewenst aantal niveaus nesten. Omwille van de leesbaarheid is het vaak echter beter om een instructie Select Case te gebruiken in plaats van meerdere niveaus met geneste instructies If...Then...Else.

Instructies uitvoeren wanneer een voorwaarde True is

U gebruikt de eenregelige syntaxis van de instructie If...Then...Else als u slechts ΘΘn instructie wilt uitvoeren wanneer een voorwaarde True is. In het volgende voorbeeld wordt een eenregelige syntaxis weergegeven, waarbij het sleutelwoord Else wordt weggelaten:

Sub FixDate()
    MyDate = #2/13/95#
    If MyDate < Now Then MyDate = Now
End Sub

U gebruikt de syntaxis voor meerdere regels als u meerdere regels programmacode wilt uitvoeren. Deze syntaxis bevat de instructie End If, wat u in het voorbeeld kunt zien:

Sub AlertUser(value as Long)
    If value = 0 Then
        AlertLabel.ForeColor = "Rood"
        AlertLabel.Font.Bold = True
        AlertLabel.Font.Italic = True
    End If
End Sub

Bepaalde instructies uitvoeren als een voorwaarde True is en andere als deze False is

Gebruik de instructie If...Then...Else als u twee blokken instructies wilt uitvoeren: ΘΘn blok wordt uitgevoerd als de voorwaarde True is, het andere blok als de voorwaarde False is.

Sub AlertUser(value as Long)
    If value = 0 Then
        AlertLabel.ForeColor = vbRed
        AlertLabel.Font.Bold = True
        AlertLabel.Font.Italic = True
    Else
        AlertLabel.Forecolor = vbBlack
        AlertLabel.Font.Bold = False
        AlertLabel.Font.Italic = False
    End If
End Sub

Een tweede voorwaarde toetsen als de eerste voorwaarde False is

U kunt instructies ElseIf aan een instructie If...Then...Else toevoegen als u wilt controleren of een tweede voorwaarde False is. De volgende functieprocedure berekent bijvoorbeeld een bonus op basis van het type baan. De instructie die na de instructie Else komt, wordt uitgevoerd als de voorwaarden in alle instructies If en ElseIf de waarde False hebben.

Function Bonus(performance, salary)
    If performance = 1 Then
        Bonus = salary * 0,1
    ElseIf performance = 2 Then
        Bonus = salary * 0,09
    ElseIf performance = 3 Then
        Bonus = salary * 0,07
    Else
        Bonus = 0
    End If
End Function